#include "Brick.h"

Brick::Brick(const std::string& cPath): Abstraite()
{
	std::string Path = cPath;
	int iMoyenne[3];
	Uint8 iAux[3];
	SDL_Surface* image = IMG_Load(Path.c_str());
	std::vector<Uint8> pix(3);
	std::vector< std::vector<Uint8> > lign(0);
	std::vector< std::vector< std::vector<Uint8> > > mat(0);
	mPixels_ = mat;
	SDL_LockSurface(image);

	for (int b = 0 ; b < 24 ; b++)
	{
		mPixels_.push_back(lign);
		for (int a = 0 ; a < 24 ; a++)
		{
			mPixels_[b].push_back(pix);
			iMoyenne[0] = 0;
			iMoyenne[1] = 0;
			iMoyenne[2] = 0;
			for (int x = 0; x < image->w / 24; x++)
				for (int y = 0; y < image->h / 24; y++)
				{
					SDL_GetRGB(getpixel(image, x + a * (image->w / 24), y + b * (image->h / 24)), image->format, iAux, iAux + 1, iAux + 2);
					
					iMoyenne[0] += iAux[0];
					iMoyenne[1] += iAux[1];
					iMoyenne[2] += iAux[2];
				}
			mPixels_[b][a][0] = (Uint8)(iMoyenne[0] / (image->w / 24 * image->h / 24));
			mPixels_[b][a][1] = (Uint8)(iMoyenne[1] / (image->w / 24 * image->h / 24));
			mPixels_[b][a][2] = (Uint8)(iMoyenne[2] / (image->w / 24 * image->h / 24));
		}
	}
	SDL_UnlockSurface(image);
}

Brick::Brick() : Abstraite()
{
	
}

Brick::~Brick()
{

}